package com.training1.core.web.controller.lizeyu;

import java.util.ArrayList;

import java.util.Collections;

import java.util.HashSet;
import java.util.List;

import java.util.Set;





public class MapAndList {
	public static void main(String[] args) {
		List<Integer> list1 = new ArrayList<>();
		List<Integer> list2 = new ArrayList<>();
		list1.add(5);
		list1.add(1);
		list1.add(7);
		list1.add(10);
		list1.add(15);
		list2.add(20);
		list2.add(7);
		list2.add(10);
		list2.add(8);
		list2.add(17);

		list1.addAll(list2);// 合并两个list集合
		list2.clear();// list清空

		System.out.print("合并后的集合:");
		for (Integer i : list1) {// 遍历集合
			System.out.print(i + " ");
		}
		System.out.println();

		Set<Integer> set1 = new HashSet<>();
		set1.addAll(list1);// 把list元素存入set,set自动排重,但无序

		Set<Integer> set2 = new HashSet<>();
		for (Integer i : list1) {
			if (!set2.add(i)) {// set添加重复元素时返回false
				list2.add(i);
			}
		}
		System.out.print("重复元素集合:");
		for (Integer i : list2) {
			System.out.print(i + " ");
		}
		System.out.println();
		list1.clear();
		list1.addAll(set1);// 把set元素存入list

		Collections.sort(list1);// Integer已经实现Comparable接口,可以直接利用工具类Collections中的sort方法排序,如果list中存的对象没有实现该接口,则需要实现该接口,并重写compareTo方法.
		System.out.print("排序后的集合:");
		for (Integer i : list1) {
			System.out.print(i + " ");
		}

	}

}
